using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using InfiniteGeek.Util;

namespace AutoConfigTests {
	public class Config : AutoConfig<Config> {
		static Config() { Init(); }

		[AutoConfigDefault("foo")]
		public static String Default { get; private set; }

		[AutoConfigIgnore]
		public static String Ignored { get; private set; }

		public static String ValueInConfig_String { get; private set; }
		public static Int32 ValueInConfig_Int32 { get; private set; }

		[AutoConfigMultiValue]
		public static String[] ValueInConfig_StringArray { get; private set; }
		[AutoConfigMultiValue]
		public static Int32[] ValueInConfig_Int32Array { get; private set; }

		[AutoConfigMultiValue]
		public static IEnumerable<String> ValueInConfig_StringIEnum { get; private set; }
		[AutoConfigMultiValue]
		public static IEnumerable<Int32> ValueInConfig_Int32IEnum { get; private set; }

		[AutoConfigMultiValue]
		public static List<String> ValueInConfig_StringList { get; private set; }
		[AutoConfigMultiValue]
		public static List<Int32> ValueInConfig_Int32List { get; private set; }

	}
}